1.8 Quantum error-correcting codes
量子问题有量子的解决办法。第一个量子纠错码(quantum error-correcting code)是Peter Shor提出的,这个发现迎来了发展迅速的新学科——量子纠错码理论。
要了解量子纠错原理,最佳方法也许是回过头去看Shor的原始纠错码——量子纠错是经典3bit重复位机制的推广。但要注意,对于量子编码,我们要能够不直接测量编码信息就达到纠错的目的(因为直接测量会破坏量子信息)。
考虑将1qubit编码成3qubits:
或编码成叠加态:
现在我们假设某一个bit发生了bit flip eror,我们将在不改变叠加态所包含的量子信息的情况下纠正这1个bit flip的误差。
当然,如果我们只测量单个qubit,比如测量第一个qubit得到,那么3 qubits态会塌缩到对应的本征态,比如,导致系数中蕴含的量子信息丢失。
但我们没必要局限在单个qubit测量,我也可以一次同时对两个qubit测量,同时测量就足够探测到是否有翻转误差了。对3 qubit态,我们定义一个2 bit测量算符,其中异或操作也可以等价定义为“相加后取模2”,我们发现的测量值正好是被翻转的那个qubit位置的二进制表示。这个2 bit测量值就构成了我们用来诊断误差是否产生了的症状(syndrome)。下面举两例说明。
如果仅有第一位bit翻转,得到,测量,而告诉我们要把第1位qubit翻转过来,这样就完成了纠错。仅有第二或第三位翻转同样适用。
如果不是某一个bit翻转,而是某一个bit的幺正变换发生了小误差,使得整体状态出现一个小误差
那么。此时测量有很大概率()得到本征值,同时也投影到正确的本征态上,消除了误差;但也有小概率()得到本征值,即上一个例子中的态,此时根据本征值只需翻转第一位bit即可完成纠错恢复到正确的态。
对于每一个bit的幺正变换都发生小误差的情况也同样处理,会有小概率投影到三个错误态(某一位翻转了)其中之一,然后测量的值会告诉我们具体是哪一位。
至此,我们已经克服了上一小节提出的量子纠错的后3个困难。我们可以不破坏叠加态的信息而进行测量(第3点),量子测量可以将“有小误差的状态”投影到没有误差的态,或者投影到翻转了一个qubit的具有较大离散误差的态(第2点)。第4点被巧妙避开了,因为并不是通过克隆得到的,它与克隆操作得到的三重拷贝态不是一回事。
只有第1点困难phase errors还存在。因为一旦某一个qubit发生phase error,那么就变成了,量子信息就被破坏了,而且由于用了三个qubit,phase error发生的可能性变大为原来的3倍。不要怕,我们已经通过添加冗余的qubits解决了bit-flip error,现在我们来添加冗余的phases来解决phase-flip error!
顺着Shor的思路,我们对单个qubit用9 qubits来编码:
即用每组3 qubits,一共3组同样的量子态构成的9 qubits表示和。由于每一组内部具有3 qubit冗余,可以用前面提到的方法进行每组内部的single bit-flip纠错。
译者注:9 qubits编码的冗余度相比3 qubits编码更多,不仅能克服single bit-flip error,还能克服phase flip error。
现在假设某一组发生了phase flip error,这个误差改变了那一组里和的相对符号:
使得这一组的相对相位与其他两组不同。可以通过组与组两两比较(而不是直接测量一个组内部的相对相位而破坏编码信息)找出发生phase flip的那一组进行纠错。这就需要一个6-qubit可观测量,例如用“将所有6个bit翻转”这个可观测量(该观测量并不会破坏量子信息,即相对相位,而只会改变整体相位): 若两组的phase一样,则特征值为,反之则如上为。因此只要再任意选取另一对做一次两两比较就能找出到底哪一组的phase与其他两组不同,然后对那个组里某一个qubit做幺正的相位变换即可翻转符号,完成纠错。
译者注:此处不理解。探测是否发生了phase flip error,对于编码以前的本征态貌似只需要测量或其中一个即可。但是对于编码以后的叠加态应该如何测量呢?
现在假设9 qubits中每一个bit的幺正变换都发生了小误差。最一般的单个qubit幺正变换(不考虑物理上不相关的全局相位) 可以展开到为:
最后三个Pauli矩阵可以看成bit flip算符,phase flip算符,或表示这两个flip同时发生的算符。
译者注:举个例子,假设,,那么bit flip表示为,该bit变成。其余情况以此类推。
假如我们制备了初态: 且允许9 qubits里的每个qubit都出现幺正误差,然后我们测量错误症状,即用2 bit算符测量bit-flip有没有发生,用6-qubit算符测量phase-flip有没有发生。在大部分情况下我们都能将系统投影回正确的初态,但有小概率某一个bit会出现较大误差:bit flip,或phase flip,或两者同时出现。从测量结果推测,我们可以知道哪个qubit发生了bit flip,或哪一组发生了phase error,然后对单个qubit做适当的幺正变换纠错。
译者注:在上述三种量子纠错机制中,我们都假设了要么只有某一个qubit发生bit flip,或只有某一组发生了phase flip,或每一个qubit的幺正变换发生小误差。下面这段讲的是如果某两个qubits发生bit flip,或某两组发生了phase flip,量子纠错就无能为力了。
现在假设在症状测量中存在以下情况,则量子纠错将会失效:
- 在两组中的每个组里都有两位bit flip error(这会在编码数据中引起phase error);
- 在两个不同的组里发生phase error(这会在编码数据中引起bit flip error)。 但是这种双相误差(double phase error)发生的可能性约为。 因此只要足够小,那么通过编码是可以提高量子信息可靠性的。
译者注:此处不理解,需要举例。暂时不知道如何将前面的例子用在这里进行说明。
上述机制不但可以进行纠错,而且也避免了量子退相干。无论发生了哪种误差都能恢复到正确的量子态,我们避免了量子态与环境发生任何纠缠。
当然,量子纠错也是个耗散过程,因为关于误差的信息从量子系统中被抹去了。关于误差的信息记录在了测量结果中,一旦测量结果被擦除,它就以热量形式耗散掉了。
后续的课程中我们将进一步讨论量子纠错机制的几个方面:
- 和经典纠错一样,存在“好”的量子纠错机制,允许我们得到任意高的可靠性,只要每个bit的错误率足够小。
- 我们之前假设,执行“纠错恢复”过程本身是无瑕疵的。但是误差诊断机制很复杂——要测量2 qubit或6 qubit的“共同可观测量”(collective observables)来诊断误差——因此在我们试图纠错时也可能进一步破坏数据。然而我们将会证明,尽管恢复过程有偶发的误差,它还是很有效的。
- 要操作量子计算机,不仅要能可靠地存储量子信息,还要能处理它。我们将会展示使用量子逻辑门来处理量子信息。
总结一下量子纠错机制:
- 误差被数字化。尽管量子信息的误差可能是小量,我们还是可以将有误差的量子态投影到无误差量子态,或投影到一个离散的误差态集合中的某个态上,后者很容易通过幺正变换纠错。
- 我们不测量数据就能测量出误差的种类,因此不会获取(从而干扰)编码好的量子信息。
- 误差是局域的,而量子信息是非局域的。前面讨论中我们心照不宣地做了一个很重要的隐含假设:在足够好的近似下,不同qubit的误差之间不存在关联,即假设“同时造成2个qubits产生误差”的事件的发生概率远比“只导致1个qubit错误”的事件的概率要小的多。这在物理上当然是存疑的——我们很容易就能构想一种同时导致两个qubits发生误差的过程。如果这种关联误差很普遍,上述量子纠错机制就不可靠了。
上述量子纠错机制利用了误差的局域性假设来以非局域性方式编码量子信息——量子信息存储在数个qubits之间的关联中。仅仅测量9个qubits中的任何1个qubit是无法区分和的,因为不管编码的信息是什么,我们总是有同样的概率得到或。
译者注:此处不理解,为什么是等概率的?
要提取有用信息则需要一个3-qubit可观测量(比如可以同时翻转一个组里3个qubits的可观测量,它就能通过本征值来区分和):
译者注:注意此处并不是在量子纠错(不破坏量子信息)。而是直接探测量子信息,测量完会破坏量子信息。因此,此处的3-qubit可观测量与前面讨论的6-qubit可观测量有区别。
环境也许偶尔会扰动单个qubit,等效于“测量”了它,但是单个qubit携带的信息几乎为零,因此扰动单个qubit几乎不会破坏量子信息。量子纠错机制的基础,就在于非局域的信息不受局域干扰影响这个事实。